package com.twb.auth.tenant;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @author DSY
 * @ClassName TenantConfigProperties
 * @Description 租户过滤的表配置
 * @date 2022年1月1日 上午11:07:11
 */
@Component
@ConfigurationProperties(prefix = "tenant")
public class TenantConfigProperties implements Serializable {

  private static final long serialVersionUID = 1L;
  /**
   * 默认列名
   */
  private String columnName = "tenant_id";
  /**
   * 需要拦截的表名（表达式格式：表名全称或者表名前缀*；例如twb_user 或 twb*）
   */
  private List<String> filterTables = new ArrayList<>();
  /**
   * 需要忽略的表名（表达式格式：表名全称或者表名前缀*；例如twb_user 或 twb*）
   */
  private List<String> ignoreTables = new ArrayList<>();

  public String getColumnName() {
    return columnName;
  }

  public void setColumnName(String columnName) {
    this.columnName = columnName;
  }

  public List<String> getFilterTables() {
    return filterTables;
  }

  public void setFilterTables(List<String> filterTables) {
    this.filterTables = filterTables;
  }

  public List<String> getIgnoreTables() {
    return ignoreTables;
  }

  public void setIgnoreTables(List<String> ignoreTables) {
    this.ignoreTables = ignoreTables;
  }
}
